{{tag>Precise Trusty matériel wi-fi}}

----

====== Puces Wi-fi Broadcom® BCM43...======
//(Cette page traite des matériels avec puces wi-fi Broadcom® sous Ubuntu.)//

[[wpfr>Broadcom|Broadcom®]] développe des puces pour les communications filaires et sans fils ([[wpfr>wi-fi]], [[wpfr>bluetooth]],...). Présentes dans certains de nos ordinateurs, elles le sont aussi dans d'autres appareils de communication (Certaines box de fournisseurs d'accès Internet par exemple). \\

Certaines puces wi-fi Broadcom® nécessitent un micrologiciel (appelé aussi [[wpfr>firmware]]) devant être chargé sur la puce wi-fi pour qu'elle puisse fonctionner. Propriétaire et protégé par Broadcom®, ce micrologiciel ne peut pas être disponible depuis le média d'installation ou les [[:depots|dépôts Ubuntu]].\\ Par contre, Ubuntu fournit dans ces dépôts un installateur qui téléchargera le micrologiciel à partir d'un point de distribution légal et l'installera avec le pilote sur votre système. Votre connexion internet wi-fi n'étant pas encore opérationnelle, vous aurez donc besoin d'une autre connexion active pour l'installer (par câble Ethernet, par exemple). \\ //(Si vous n'avez aucune possibilité de vous connecter, voir comment [[#installer le micrologiciel sans internet]] au chapitre [[#Installer le micrologiciel sans internet|problèmes connus]].)// 

Pour les autres puces ne nécessitant pas de frimware (les plus récentes), Broadcom® fournit un pilote [[wpfr>Logiciel_propriétaire|propriétaire]] nommé "Broadcom 802.11 Linux STA driver" pour %%GNU/Linux%%.  Ce pilote est disponible depuis les [[:dépôts]] et le support d'installation. Au cours de l'installation d'Ubuntu, l'installateur détectera votre puce wifi Broadcom® et si nécessaire, installera ce pilote.

<note help>La suite ne vous concerne donc que si la détection automatique à l'installation a échoué ou si votre puce Broadcom® est mal prise en charge voire pas du tout. (Les cas par exemple pour une puce nécessitant un [[wpfr>firmware|micrologiciel]] propriétaire protégé par Broadcom® ou encore une puce trop récente ayant besoin d'une version supérieure du pilote "Broadcom 802.11 Linux STA driver" pour être correctement fonctionnelle).</note>


=====Pré-requis=====
  * Disposer des [[:sudo|droits d'administration]];
  * Disposer d'une connexion à Internet configurée et activée;
  * Avoir [[:gestionnaire_de_mises_a_jour|son système à jour]];
  * [[#Identifier correctement sa puce]].

===== Identifier correctement sa puce ===== 
Avant de commencer, il est nécessaire d'identifier correctement sa puce pour savoir si elle nécessite un micrologiciel et lequel. Dans un [[:terminal]], saisir la [[:commande_shell|commande]] suivante:<code>lspci -vvnn | grep 14e4</code>Le terminal vous répondra quelque chose comme ça : <code>02:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)</code>**BCM43142** est le nom de la puce, et **[14e4:4365]** son ID-PCI. Vous aurez besoin de ces deux identifiants pour bien cibler le bon pilote.
  
=====Quel pilote utiliser ?=====

^ Puce ^ Pilote ([[:tutoriel/comment_installer_un_paquet|paquet à installer]]) ^ Commentaires ^
|BCM4301| **[[apt>firmware-b43legacy-installer]]** |  |
|BCM4306| **[[apt>firmware-b43legacy-installer]]** |  |
|BCM4306/2| **[[apt>firmware-b43legacy-installer]]** |  |
|BCM4306/3| **[[apt>firmware-b43-installer]]** |  |
|BCM4311 (sauf ID-PCI **14e4:4313**) | **[[apt>firmware-b43-installer]]** |La puce BCM4311 avec l' ID-PCI **14e4:4313** est normalement prise en charge par le pilote "Broadcom 802.11 Linux STA driver".|
|BCM4312 (avec basse-consommation c'est à dire LP-PHY) | **[[apt>firmware-b43-installer]] ** |:!: [[:precise|Precise 12.04]], utiliser l'installateur  **[[apt>firmware-b43-lpphy-installer]]**.|
|BCM4318| **[[apt>firmware-b43-installer]] ** |  |
|BCM4321| **[[apt>firmware-b43-installer]] ** |Prise en charge partielle.|
|BCM4322 (Uniquement ID-PCI **14e4:432b**)| **[[apt>firmware-b43-installer]] ** |La puce BCM4322 avec d'autres ID-PCI est normalement prise en charge par le pilote "Broadcom 802.11 Linux STA driver". |
|[[#autres puces|Autres puces ne nécessitant pas de firmware]] | **Broadcom 802.11 Linux STA driver** |Exemple d'une puce récente nécessitant une version supérieure du pilote "Broadcom 802.11 Linux STA driver" disponible dans les dépôts. Faire la mise à jour de ce pilote [[#via le site officiel]]\\ :!: [[:precise|Precise 12.04]], un pilote de version supérieure est disponible depuis le [[:depots#proposed|dépôt proposed]]. |


Sources:
  * [[http://linuxwireless.sipsolutions.net/en/users/Drivers/b43/|Wirless.kernek.org (en)]] 
  * Descriptifs des paquets
  * [[http://www.broadcom.com/docs/linux_sta/README_6.30.223.248.txt|Fichier README du site officiel (en)]]

=====Via le site officiel=====
Pour résoudre les problèmes des autres puces wi-fi Broadcom®, (Cas par exemple d'une puce très récente qui n'est pas encore prise en compte), une solution consiste à mettre à jour pilote propriétaire "Broadcom 802.11 Linux STA driver" des [[:depots|dépôts Ubuntu]] à l'aide de celui proposé sur le site officiel.

La procédure pour le mettre à jour se déroule en 2 temps: La [[#construction du pilote|construction]] et l'[[#installation|installation]].\\
([[http://www.broadcom.com/docs/linux_sta/README_6.30.223.248.txt|Source: Fichier d'installation README.txt du site officiel (en)]])\\

Mais avant de commencer, nous avons besoin des outils de compilation du [[:kernel|noyau]]. Normalement, ces outils sont installés par défaut dans Ubuntu. Si ce n'était pas le cas, [[:tutoriel/comment_installer_un_paquet|installer les paquets]] **[[apt>build-essential]]** et **[[apt> linux-headers-generic]]**
 <note important> L'installation de paquets hors des [[:depots|dépôts officiels]] peut présenter un risque d'instabilité de votre système.</note>
  - À l'aide du [[:gestionnaire de pilotes propriétaires|gestionnaire de pilotes additionnel]], vérifier l'installation du pilote "Broadcom 802.11 Linux STA driver". (Si ce n'est pas le cas, voir [[#Le pilote "Broadcom 802.11 Linux STA driver" ne s'est pas installé par défaut|ce chapitre]]).
  - Récupérer et déposer dans votre __dossier personnel__ l'archive de la toute dernière version du pilote **Linux STA Driver 32 ou 64 bit** selon votre [[:architecture matérielle]] depuis le [[http://www.broadcom.com/support/?gid=1|site officiel]];
  - [[:archivage|Extraire l'archive]] récupéré. 
// (La suite se fera depuis un [[:terminal]] en [[:commande_shell|lignes de commandes]])//

====Construction du pilote====
  - Se rendre dans le dossier extrait <code>cd hybrid*</code>
  - Construire le pilote pour être chargé comme un [[:tutoriel/tout_savoir_sur_les_modules_linux|module du noyau Linux]] ([[wpfr>Loadable_Kernel_Module|LKM]]) <code>sudo make</code> La construction terminée produira dans le dossier un fichier **wl.ko** utile pour la mise à jour du pilote.
  - Ce pilote utilise%% API cfg80211. %%Il faut pour cela exécuter la [[:commande_shell|commande]] <code>sudo make API=CFG80211</code>
Ne quittez pas le [[:terminal]] et restez dans le dossier extrait car ce n'est pas fini, nous allons passer à l'installation du pilote.

====Installation ====
<note help>Sous Ubuntu, les [[:tutoriel/tout_savoir_sur_les_modules_linux|modules]] des pilotes se trouvent dans le dossier **/lib/modules/<nom_du_noyau>/updates/dkms/**
// Remplacer <nom_du_noyau> par le nom complet du noyau en cours d'utilisation. Pour connaître le <nom_du_noyau> en cours, saisir la [[:commande_shell|commande]]// <code>uname -r</code> </note>
  - Désactiver le pilote en cours d'utilisation <code>sudo rmmod wl</code>
  - Sauvegarder l'ancienne version du fichier **wl.ko** en le renommant **wl.ko.orig** (on ne sais jamais !) <code>sudo mv /lib/modules/<nom_du_noyau>/updates/dkms/wl.ko /lib/modules/<nom_du_noyau>/updates/dkms/wl.ko.orig</code>
  - Copier le fichier **wl.ko** construit précédemment dans le dossier des modules des pilotes <code>sudo cp wl.ko /lib/modules/<nom_du_noyau/updates/dkms/wl.ko</code>
  - Et pour générer le [[:tutoriel/tout_savoir_sur_les_modules_linux|module]]<code>sudo depmod</code>
  -Pour terminer, activer le pilote <code>sudo modprobe wl</code>
Le pilote est maintenant à jour et opérationnel. Le redémarrage n'est pas nécessaire.\\

:?: Ne supprimez pas le dossier extrait et son contenu, vous en aurez besoin pour recréer de nouveau ce [[:tutoriel/tout_savoir_sur_les_modules_linux|module]] après chaque mise à jour du [[wpfr>noyau Linux]] car le [[:tutoriel/tout_savoir_sur_les_modules_linux|module]] du pilote **wl.ko** ainsi créé ne sera pas chargé dynamiquement. C'est à dire qu'à à chaque mise à jour du [[wpfr>noyau Linux]], vous reviendrez à l'ancienne version. \\
Recommencer toute la procédure de mise à jour, la [[#Construction du pilote|construction]] puis [[#installation|l'installation]] pour retrouver à nouveau votre wi-fi opérationnel.

=====Problèmes connus=====
==== Pensez à vérifier l'activation du WIFI ====

Pour réaliser cette vérification, ouvrez un [[:terminal]] et saisissez les [[:commande_shell|commandes]] suivantes :
  * Vérifiez que la carte wifi n'est pas désactivée: <code>sudo rfkill list</code>
  * Pour activer les cartes wifi:<code>sudo rfkill unblock wifi</code>

====Installer le micrologiciel sans internet ====
 <note important> L'installation de paquets hors des dépôts officiels peut présenter un risque d'instabilité de votre système</note>
Il peut arriver que vous aillez des difficultés à accéder à internet, et donc à installer correctement le micrologiciel Broadcom ®\\
Dans ce cas:
  - Téléchargez le pilote [[http://ftp.psu.ac.th/pub/broadcom/b43-all-fw.tar_.gz|ici]] et sauvegardez-le sur un support externe,
  - Copiez [[:archivage|l'archive]] dans votre dossier personnel,
  - Puis dans le dossier ///lib/firmware/ // avec la commande suivante que vous entrez dans un [[:terminal]]:<code>sudo cp b43-all-fw.tar_.gz /lib/firmware/</code>
  - Déplacez-vous dans le dossier ///lib/firmware/ //:<code>cd /lib/firmware</code>
  - [[:archivage|Décompressez-y]] votre archive avec les [[:sudo|droits d'administration]]:<code>sudo tar xvf b43-all-fw.tar_.gz</code>
  - Nettoyer votre dossier:<code>sudo rm *.gz</code>
Redémarrez votre ordinateur.

[[https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#b43_-_No_Internet_access|Autre méthode]] (en)

====Le pilote "Broadcom 802.11 Linux STA driver" ne s'est pas installé par défaut====
Bien que votre ordinateur possède une puce wi-fi Broadcom®, le pilote "Broadcom 802.11 Linux STA driver" des dépôts officiels n'est pas installé. Vérifier depuis le [[#Quel pilote utiliser ?|tableau]] que votre puce ne nécessite pas l'installation du micrologiciel. Si non, vous pouvez tenter de forcer son l'installation en [[:tutoriel/comment_installer_un_paquet|installant le paquet]] **[[apt>bcmwl-kernel-source]]** puis essayer la mise à jour [[#via le site officiel]].\\
Peut-être trouverez-vous la solution en consultant les pages des liens du chapitre [[#voir aussi]].

===== Voir aussi =====
  * **(en)** [[http://www.broadcom.com/|Site officiel Broadcom®]]
  * **(en)** [[https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx|Page de "help.ubuntu.com" sur ce sujet]]
  * **(en)** [[https://launchpad.net/ubuntu/+source/bcmwl|Broadcom® sur Launchpad]]
  * **(en)** [[http://linuxwireless.sipsolutions.net/en/users/Drivers/b43/|La page de la Communauté des développeurs Wirless Kernel.org]]
   * **(fr)** [[http://www.wifilorraine.com/|le répéteur wifi]]

----

//Contributeur(e)s : [[utilisateurs:Ju]], [[utilisateurs:nyl]], [[utilisateurs:Id2ndR]], [[utilisateurs:LinuXp0wer]], [[utilisateurs:nlcf]], [[utilisateurs:Futal]], [[utilisateurs:YoBoY]], [[utilisateurs:Tsumugari]], [[utilisateurs:Ner0lph]], [[utilisateurs:thecraft]], [[utilisateurs:anod1]], [[utilisateurs:le0n]], [[utilisateurs:Jackass059]], [[utilisateurs:Ma-Nu]], [[utilisateurs:cngz]], [[utilisateurs:fabien26]], [[utilisateurs:xcxl]], [[utilisateurs:Antonin_Morel]], [[utilisateurs:GottferDamnt]], [[utilisateurs:Id2ndR]], [[utilisateurs:ArcturusM51]], [[utilisateurs:laurentb]], [[utilisateurs:l_africain|L'Africain]], [[utilisateurs:Cafecho]].//